1922

10 分钟

#C 语言的 switch 分支语句

分支语句(Branching Statement) 和条件语句类似,也用于控制程序的执行流程。

C 语言通过 switchcase 来创建分支语句。其基本语法如下:

switch (表达式) // 表达式的结果必须是整型 { case1: // 当表达式的结果是 值1 时,执行 分支1 分支1 break; // 跳出 switch case2: // 当表达式的结果是 值2 时,执行 分支2 分支2 break; // 跳出 switch ... case 值n: // 当表达式的结果是 值n 时,执行 分支n 分支n break; // 跳出 switch default: // 当表达式的结果不符合任何分支条件时,执行 分支n+1 分支n+1 break; // 跳出 switch }

说明:

  • 如果“表达式”的结果为“值1”,则执行“分支1”
  • 如果“表达式”的结果为“值2”,则执行“分支1”
  • ...
  • 如果“表达式”的结果为“值n”,则执行“分支n”
  • 如果“表达式”的结果不符合任何分支条件,则执行“分支n+1”,即默认分支

注意:

  • switch 的表达式结果必须是整型
  • case 的值必须是整型字面量
  • 如果不使用 break 跳出 switch,则会向下执行后续分支,直至遇到 break

值1

break

值2

break

值n

break

其它值

break

开始

表达式

分支1

结束

分支2

分支n

分支n+1

示例:

#include <stdio.h> int main(void) { printf("欢迎使用自动售货机!\n"); printf("1. 可乐(3元)\n"); printf("2. 雪碧(3元)\n"); printf("3. 矿泉水(2元)\n"); printf("4. 果汁(5元)\n"); printf("5. 咖啡(6元)\n"); int choice = 0; printf("请选择:"); scanf("%d", &choice); switch (choice) { case 1: printf("您选择了:可乐,价格:3元\n"); break; case 2: printf("您选择了:雪碧,价格:3元\n"); break; case 3: printf("您选择了:矿泉水,价格:2元\n"); break; case 4: printf("您选择了:果汁,价格:5元\n"); break; case 5: printf("您选择了:咖啡,价格:6元\n"); break; default: printf("无效的选择!\n"); } return 0; }

说明:

  • choice 的值是 4,因此进入 case 4: 的分支

运行结果:

欢迎使用自动售货机! 1. 可乐(3元) 2. 雪碧(3元) 3. 矿泉水(2元) 4. 果汁(5元) 5. 咖啡(6元) 请选择:4 您选择了:果汁,价格:5元

创建于 2025/6/30

更新于 2025/6/30